import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  // state：vuex的基本数据，用来存储变量(后四个属性都是用来操作state里面储存的变量的)。
  state: {
    conunt:1
  },
  // getters：是对state里面的变量进行过滤的。
  getters: {
  },
  // mutation:提交更新数据的方法，必须是同步的(如果需要异步使用action)  同步更新
  mutations: {
  },
//   action：异步更新 和mutation的功能大致相同，不同之处在于：

// 1.Action提交的是mutation，而不是直接变更状态。  也就是action是用来修改mutation并提交的  而  mutation是通过修改state

// 2.Action可以包含任意异步操作。(一般比较复杂的数据都在action中操作)

// 3.action先会执行异步操作再去调用mutation，随后才跟新state


  actions: {
  },
  // 项目特别复杂的时候，可以让每一个模块拥有自己的state、mutation、action、getters,使得结构非常清晰，方便管理。
  modules: {
  }
})
